package com.nari.ncps.screen.dto.excelimport.dryport;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 机车整体运行情况表
 * </p>
 *
 * @author xuesong
 * @since 2025-08-23
 */
@Getter
@Setter
@TableName("qt_dp_dryport_opermon_locomotive")
@Schema(name = "DryportOpermonLocomotive对象", description = "机车整体运行情况表")
public class DryportOpermonLocomotive implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "年份")
    @TableField("year")
    private Integer year;

    @Schema(description = "月份")
    @TableField("month")
    private Integer month;

    @Schema(description = "日")
    @TableField("day")
    private Integer day;

    @Schema(description = "日期，格式yyyy-MM-dd")
    @TableField("date")
    private Date date;

    @Schema(description = "机车总设备量")
    @TableField("total_equipment")
    private Integer totalEquipment;

    @Schema(description = "中铁一局设备数")
    @TableField("crc1_equipment")
    private Integer crc1Equipment;

    @Schema(description = "中铁三局设备数")
    @TableField("crc3_equipment")
    private Integer crc3Equipment;

    @Schema(description = "中铁一局占比")
    @TableField("crc1_ratio")
    private BigDecimal crc1Ratio;

    @Schema(description = "中铁三局占比")
    @TableField("crc3_ratio")
    private BigDecimal crc3Ratio;

    @Schema(description = "接车类型，0：中铁一局，1：中铁三局")
    @TableField("receive_type")
    private Byte receiveType;

    @Schema(description = "配属")
    @TableField("assigned_one")
    private Integer assignedOne;

    @Schema(description = "配属")
    @TableField("assigned_two")
    private Integer assignedTwo;

    @Schema(description = "配属")
    @TableField("assigned_three")
    private Integer assignedThree;

    @Schema(description = "运用")
    @TableField("in_use_one")
    private Integer inUseOne;

    @Schema(description = "运用")
    @TableField("in_use_two")
    private Integer inUseTwo;

    @Schema(description = "运用")
    @TableField("in_use_three")
    private Integer inUse;

    @Schema(description = "备用")
    @TableField("standby_one")
    private Integer standbyOne;

    @Schema(description = "备用")
    @TableField("standby_two")
    private Integer standbyTwo;

    @Schema(description = "备用")
    @TableField("standby_three")
    private Integer standbyThree;

    @Schema(description = "大修")
    @TableField("overhaul_one")
    private Integer overhaulOne;

    @Schema(description = "大修")
    @TableField("overhaul_two")
    private Integer overhaulTwo;

    @Schema(description = "大修")
    @TableField("overhaul_three")
    private Integer overhaulThree;

    @Schema(description = "中修")
    @TableField("medium_repair_one")
    private Integer mediumRepairOne;

    @Schema(description = "中修")
    @TableField("medium_repair_two")
    private Integer mediumRepairTwo;

    @Schema(description = "中修")
    @TableField("medium_repair_three")
    private Integer mediumRepairThree;

    @Schema(description = "小修")
    @TableField("minor_repair_one")
    private Integer minorRepairOne;

    @Schema(description = "小修")
    @TableField("minor_repair_two")
    private Integer minorRepairTwo;

    @Schema(description = "小修")
    @TableField("minor_repair_three")
    private Integer minorRepair;

    @Schema(description = "临修")
    @TableField("temporary_repair_one")
    private Integer temporaryRepairOne;

    @Schema(description = "临修")
    @TableField("temporary_repair_two")
    private Integer temporaryRepairTwo;

    @Schema(description = "临修")
    @TableField("temporary_repair_three")
    private Integer temporaryRepair;

    @Schema(description = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @Schema(description = "创建人")
    @TableField("creator")
    private String creator;

    @Schema(description = "更新时间")
    @TableField("update_time")
    private Date updateTime;

    @Schema(description = "更新人")
    @TableField("updater")
    private String updater;
}
